//
//  WBHomeViewController.swift
//  Weibo
//
//  Created by User on 2017/3/14.
//  Copyright © 2017年 ZFY. All rights reserved.
//

import UIKit

private let cellID = "cellID"


class WBHomeViewController: WBBaseViewController {

    /// 微博数据数组
    lazy var statusList = [String]()
    
    override func viewDidLoad() {
        super.viewDidLoad()
        
    }
    
    /// 加载数据
    override func loadData() {
        
        print("开始加载数据")
        
        // 模拟延时加载数据 ——> （ OC 中是是用 dispatch_after 方法）
        DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 2) { 
            
            for i in 0..<20 {
                
                if self.isPullUp {
                    
                    self.statusList.append("上拉\(i)")
                } else {
                    
                    // 将数据插入到数组的顶部
                    self.statusList.insert(i.description, at: 0)
                }
            }
            
            print("加载数据结束")
            // 结束刷新控件
            self.refreshControl?.endRefreshing()
            
            // 恢复上拉刷新标记
            self.isPullUp = false
            
            // 刷新表格
            self.tableView?.reloadData()
        }
        
    }

    /// 好友按钮的点击事件
    func showFriends() {
        
        let vc = WBDemoViewController()
        
        navigationController?.pushViewController(vc, animated: true)
    }
    
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
    }
}

// MARK: - TableView 的数据源方法
extension WBHomeViewController {
    
    override func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
        return statusList.count
    }
    
    override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
        
        // 获取 Cell
        let cell = tableView.dequeueReusableCell(withIdentifier: cellID, for: indexPath)
        
        // 设置 Cell
        cell.textLabel?.text = statusList[indexPath.row]
        
        // 返回 Cell
        return cell
    }
}

// MARK: - 设置界面
extension WBHomeViewController {

    /// 重写父类的方法
    override func setupTableView() {
        super.setupTableView()
        
        // 设置导航栏按钮
        wbNavigationItem.leftBarButtonItem = UIBarButtonItem(title: "好友", normalColor: UIColor.darkGray, highlightedColor: UIColor.orange, target: self, action: #selector(showFriends))
        
        // 注册原型 Cell
        tableView?.register(UITableViewCell.self, forCellReuseIdentifier: cellID)
    }
}
